Describe how to add reviewers via REST Change-Id: I7d4a31459d482b5feee0e50e2efe6289bcc41959 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com> 
diff --git a/Documentation/rest-api-changes.txt b/Documentation/rest-api-changes.txt index e7904a2..e040a01 100644 --- a/Documentation/rest-api-changes.txt +++ b/Documentation/rest-api-changes.txt 
@@ -851,6 +851,94 @@  }  ----   +[[add-reviewer]] +POST /changes/\{change-id\}/reviewers (Add Reviewer) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Adds one user or all members of one group as reviewer to the change. + +The reviewer to be added to the change must be provided in the request +body as a link:#reviewer-input[ReviewerInput] entity. + +.Request +---- + POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0 + Content-Type: application/json;charset=UTF-8 + + { + "reviewer": "john.doe@example.com" + } +---- + +As response an link:#add-reviewer-result[AddReviewerResult] entity is +returned that describes the newly added reviewers. + +.Response +---- + HTTP/1.1 200 OK + Content-Disposition: attachment + Content-Type: application/json;charset=UTF-8 + + )]}' + { + "reviewers": [ + { + "kind": "gerritcodereview#reviewer", + "approvals": { + "Verified": " 0", + "Code-Review": " 0" + }, + "_account_id": 1000096, + "name": "John Doe", + "email": "john.doe@example.com" + } + ] + } +---- + +If a group is specified, adding the group members as reviewers is an +atomic operation. This means if an error is returned, none of the +members are added as reviewer. + +If a group with many members is added as reviewer a confirmation may be +required. + +.Request +---- + POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0 + Content-Type: application/json;charset=UTF-8 + + { + "reviewer": "MyProjectVerifiers" + } +---- + +.Response +---- + HTTP/1.1 200 OK + Content-Disposition: attachment + Content-Type: application/json;charset=UTF-8 + + )]}' + { + "error": "The group My Group has 15 members. Do you want to add them all as reviewers?", + "confirm": true + } +---- + +To confirm the addition of the reviewers, resend the request with the +`confirm` flag being set. + +.Request +---- + POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0 + Content-Type: application/json;charset=UTF-8 + + { + "reviewer": "MyProjectVerifiers", + "confirm": true + } +---- +    [[ids]]  IDs @@ -912,6 +1000,26 @@  requested.  |===========================   +[[add-reviewer-result]] +AddReviewerResult +~~~~~~~~~~~~~~~~~ +The `AddReviewerResult` entity describes the result of adding a +reviewer to a change. + +[options="header",width="50%",cols="1,^1,5"] +|=========================== +|Field Name ||Description +|`reviewers` |optional| +The newly added reviewers as a list of link:#reviewer-info[ +ReviewerInfo] entities. +|`error` |optional| +Error message explaining why the reviewer could not be added. + +If a group was specified in the input and an error is returned, it +means that none of the members were added as reviewer. +|`confirm` |`false` if not set| +Whether adding the reviewer requires confirmation. +|=========================== +  [[approval-info]]  ApprovalInfo  ~~~~~~~~~~~~ @@ -1149,6 +1257,28 @@  approval values ("`-2`", "`-1`", " `0`", "`+1`", "`+2`").  |==========================   +[[reviewer-input]] +ReviewerInput +~~~~~~~~~~~~~ +The `ReviewerInput` entity contains information for adding a reviewer +to a change. + +[options="header",width="50%",cols="1,^1,5"] +|=========================== +|Field Name ||Description +|`reviewer` || +The link:rest-api-accounts.html#account-id[ID] of one account that +should be added as reviewer or the link:rest-api-groups.html#group-id[ +ID] of one group for which all members should be added as reviewers. + +If an ID identifies both an account and a group, only the account is +added as reviewer to the change. +|`confirmed` |optional| +Whether adding the reviewer is confirmed. + +The Gerrit server may be configured to +link:config-gerrit.html#addreviewer.maxWithoutConfirmation[require a +confirmation] when adding a group as reviewer that has many members. +|=========================== +  [[revision-info]]  RevisionInfo  ~~~~~~~~~~~~